A technique for automatically designing analog circuits taking into consideration the yield is disclosed in “Generation of yield-embedded Pareto-front for simultaneous optimization of yield and performances”, Design Automation Conference (DAC), 2010 47th ACE/IEEE, 13-18, Jun. 2010, pp. 909-912, which is written by an inventor of this application. This paper is incorporated herein by reference.
In this paper, plural sampling points having plural types of performance item values (also collectively called performance. For example, gain, consumption power, linearity, area, noise, accuracy, dynamic range, impedance matching or the like), which are simulation results for combinations of specific design parameter values and specific design variable values, are generated while changing the values in the aforementioned combinations, and the yield is defined for each of the plural sampling points as described below.
As a premise, “the performance P1 of the sampling point 1 dominates the performance P2 of the sampling point 2” is defined as follows:P1P2∀i(p1i≦p2i)∃i(p1i≦p2i),i=1 . . . N  (1)
Incidentally, p1i represents a value of an i-th performance item, which is included in the performance P1, and p2i represents a value of the i-th performance item, which is included in the performance P2. The expression (1) represents that it is said that the performance P1 dominates the performance P2 when the value of each of all performance items in the sampling point 1 are equal to or better than the value of the corresponding performance item in the sampling point 2 and the value of any one of the performance items in the sampling point 1 is better than the value of the corresponding performance item in the sampling point 2. When the performance P1 dominates the performance P2, it is also said that the sampling point 1 dominates the sampling point 2.
In addition, the dominancy relationship with respect to the performance will be explained by using FIG. 1. Here, it is assumed that there are two performance items, and a first performance item is set to a vertical axis as the performance item 1, and the lesser the value is, the higher the performance is. Moreover, it is also assumed that a second performance item is set to a horizontal axis as the performance item 2, and the lesser the value is, the higher the performance is. Here, when the simulation is carried out to identify the values of the performance items 1 and 2, points are plotted on the two-dimensional space as illustrated in FIG. 1. In an example of FIG. 1, 6 sampling points (also called “solution”) A to F are obtained. In such a situation, because the lesser values are favorable, of course, the nearer to the origin the point is, the better the sampling point is.
Then, “X dominates Y” represents that all components (i.e. performance item value) of Y is equal to or worse than the corresponding components of X, and at least one of the components of Y is worse than the corresponding component of X. In the two-dimensional space as illustrated in FIG. 1, because B whose values of the performance items 1 and 2 are lesser is a better sampling point than E, “B dominates E”, and similarly, because C is a better sampling point than F, “C dominates F”. On the other hand, when A is compared with B, because the A's value of the performance item 2 is lesser but the B's value of the performance item 1 is lesser, it cannot be said that “A dominates B”. As for A to D, the dominancy relationship is not satisfied. Thus, the sampling points that are not dominated by the other sampling point in the performance space are called “Pareto” (also called “non-dominant solution”). Then, a curve A (in case of the three-dimensional or higher dimensional space, curved surface) connecting the Pareto is called “Pareto curve” (or “Pareto curved surface”).
In addition, as illustrated in FIG. 2, the sampling points are plotted at positions of circle marks according to their performance item values, a sampling point to be considered is marked by a dark circle. Incidentally, a hatched ellipse virtually represents a distribution area of the sampling points. In such a case, the sampling points having the value of each of the performance items, which is equal to or better than the value of the corresponding performance item of the sampling point to be considered are the sampling points included in a rectangular measurement range whose upper right point is the dark point. Incidentally, when the number of performance items is equal to or greater than “3”, the condition of the measurement range is the same.
In the aforementioned paper, the appearance probability of the sampling points having the performance equal to or greater than the sampling point to be considered is defined as the yield. Therefore, the number of sampling points that appears in the measurement range illustrated in FIG. 2 +1 (which is the sampling point to be considered) is counted, and the yield is calculated by dividing the counted number by the number of all sampling points.
However, when the yield is calculated for each of the sampling points, a processing for confirming the dominancy relationship with all of the other sampling points is carried out for each sampling point to be considered, and it takes a long processing time, when the number of sampling points becomes greater.
Incidentally, also in case where a processing for simply confirming the dominancy relationship between the sampling points is carried out instead of a case of calculating the yield, the similar processing is required.
Namely, there is no technique for confirming the dominancy relationship between the sampling points at high speed.